Large enterprises typically utilize large-scale storage systems to provide data storage facilities to their employees. Due to the massive scale of such systems, the task of administering a large-scale storage system can be a difficult one. In particular, system administrators responsible for large-scale storage systems perform a number of difficult tasks, including the partitioning of the storage system into multiple volumes to support the users and applications of the system. However, the task of determining the amount of storage space to be allocated to each volume is a difficult one because the administrator cannot know in advance the amount of space that will be utilized within each volume over a long period of time. An incorrect allocation of space may lead to the starving of some volumes for space, requiring the addition of new capacity to the volumes, while other volumes go underutilized. The underutilized volumes cannot be easily reassigned to volumes needing additional storage space.
A related problem faced by system administrators of large-scale storage systems is a function of the fact that the utilization of storage capacity within a storage system typically grows slowly. As a result, the majority of the capacity in a storage system is not being utilized at any given time. The unutilized storage space represents capital that has been expended by the enterprise but that is not being utilized. For the most part, organizations typically prefer to expend capital only on resources that are utilized.
In view of the above-described problems, system administrators expect to be able to enjoy the flexibility of unlimited storage expansion with a minimal amount of performance loss. Moreover, system administrators also expect to recover data after catastrophic power failures and to bring up a storage system quickly after a clean shutdown. Since each of these features desired by system administrators have different priorities in different environments, most system administrators are willing to accept some trade-offs. However, system administrators typically expect to tune the storage system so that the trade-offs can be balanced for the individual requirements of their particular organization.
It is with respect to these considerations and others that the present invention has been made.